TEditorMX

正規表現タグジャンプの設定例2

TEditorMXのタグジャンプ機能は正規表現を用いてジャンプ先のファイル名、行番号、カラム値をそれぞれ取得できるようになっています。 そのため、いろいろな言語の様々なエラー出力メッセージからタグジャンプさせることができます。 是非活用してくださいね。

以下は私(管理人)が入手したコンパイラやインタプリタのエラーメッセージよりタグジャンプさせるための具体的な正規表現の例です。


  1. C#
  2. C, C++
  3. GCC(MinGW)
  4. VBScript
  5. python
  6. Perl



C#

Visual Studio 2017 のC#コンパイラをコマンドラインから使用するときの例です。


コンパイラ → csc.exe


csc.exeのエラーメッセージ出力例

decimal.cs(18,47): error CS0103: 現在のコンテキストに 'balaance' という名前は存在しません。
タグジャンプ用正規表現
^(.+?)\((\d+),(\d+)\):.*:.*

\1 ファイル名
\2 行番号
\3 カラム値

環境設定バッチファイル → VsDevCmd.bat (C, C++と同じ)
Visual Studio 2017 をデフォルトでインストールしたときの環境設定バッチファイルは下記の所にあると思います。 インストールした場所がデフォルトでないときは異なるフォルダにあると思われます。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat



ページのTOPへ


C, C++

Visual Studio 2017 のC, C++コンパイラをコマンドラインから使用するときの例です。


コンパイラ → cl.exe


cl.exeのエラーメッセージ出力例

sample.c(6): error C2146: 構文エラー: ';' が、識別子 'printf' の前に必要です。
タグジャンプ用正規表現
^(.+?)\((\d+)\):.+:.*

\1 ファイル名
\2 行番号

環境設定バッチファイル → VsDevCmd.bat (C#と同じ)
Visual Studio 2017 をデフォルトでインストールしたときの環境設定バッチファイルは下記の所にあると思います。 インストールした場所がデフォルトでないときは異なるフォルダにあると思われます。

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat



ページのTOPへ


GCC(MinGW)

GCCをコマンドラインから使用するときの例です。


コンパイラ → gcc.exe


gcc.exeのエラーメッセージ出力例

gcc_test.c:8:27: error: unknown type name 'a'
タグジャンプ用正規表現
^(.+?):(\d+):(\d+):

\1 ファイル名
\2 行番号
\3 カラム値



ページのTOPへ


VBScript

VBScriptの例です。


コマンド → cscript.exe


cscript.exeのエラーメッセージ出力例

D:\vbs_program\vb_test.vbs(2, 1) Microsoft VBScript 実行時エラー: 型が一致しません。: 'a'

タグジャンプ用正規表現
^(.+?)\((\d+),\s+(\d+)\)

\1 ファイル名
\2 行番号
\3 カラム値



ページのTOPへ


python

pythonの例です。


コマンド → python.exe


python.exeのエラーメッセージ出力例

  File "sample1.py", line 19, in <module>

タグジャンプ用正規表現
^\s+File\s+"(.+?)",\s+line\s+(\d+)

\1 ファイル名
\2 行番号



ページのTOPへ


Perl

ActivePerlの例です。


コマンド → perl.exe


perl.exeのエラーメッセージ出力例

Bareword found where operator expected at sample1.pl line 14, near "3a1"
	(Missing operator before a1?)
syntax error at sample1.pl line 14, near "3a1"

タグジャンプ用正規表現
\s+at\s+(.+?)\s+line\s+(\d+),

\1 ファイル名
\2 行番号



ページのTOPへ

メニュー